// 头文件保护宏，防止头文件被重复包含
#ifndef HISTORY_WORKER_H
#define HISTORY_WORKER_H

// 包含必要的Qt库头文件
#include <QObject>      // Qt对象系统的基类，提供信号槽机制
#include <QString>      // Qt的字符串类，用于跨平台文本处理

#include <string>


// 包含自定义模型桥接类的头文件
#include "HistoryBridge.h"

using namespace std;

class HistoryWorker : public QObject
{
    Q_OBJECT  // Qt元对象系统宏，必须包含在使用信号槽的类中

public:
    // 构造函数，explicit关键字防止隐式类型转换，接收父对象指针（默认为nullptr）
    explicit HistoryWorker(QObject *parent = nullptr);

    explicit HistoryWorker(const string &path, QObject *parent = nullptr);

    ~HistoryWorker();

public slots:
    // 槽函数：处理用户输入的文本
    void handleUserInput(const QString &input);

signals:
    // 信号：当模型响应准备好时发出
    void responseReady(const QString &response);

private:
    // 模型桥接对象，负责与AI模型进行通信
    HistoryBridge bridge;
};

#endif // HISTORY_WORKER_H 